package com.fowo.api.model.product;

import com.alibaba.excel.annotation.ExcelProperty;
import com.fowo.api.common.validator.*;
import javax.validation.constraints.*;
import lombok.Data;

/**
 * 产品采购记录 预览导入辅助模型(全字段为文本类型)
 * @author yl_ls
 */
@Data
public class ProductPurchaseRecordImportPo {

  /** 所属产品 */
  @ExcelProperty("所属产品")
  @Size(max = 500, message = "所属产品长度不能超过500")
  private String productIdName;

  /** 供应商 */
  @ExcelProperty("供应商")
  @Size(max = 50, message = "供应商长度不能超过50")
  private String supplierSupplierName;

  /** 采购数量 */
  @ExcelProperty("采购数量")
  @IntegerString(
    message = "采购数量数值格式不正确",
    label = "采购数量",
    min = 0
  )
  private String purchaseNum;

  /** 加工费 */
  @ExcelProperty("加工费")
  @DecimalString(message = "加工费小数格式不正确", label = "加工费")
  private String processCost;

  /** 单价 */
  @ExcelProperty("单价")
  @DecimalString(message = "单价小数格式不正确", label = "单价")
  private String price;

  /** 运费 */
  @ExcelProperty("运费")
  @DecimalString(message = "运费小数格式不正确", label = "运费")
  private String freight;

  /** 是否开票 */
  @ExcelProperty("是否开票")
  @BooleanString(message = "是否开票格式不正确，请使用“是”，“否”")
  private String isInvoice;

  /** 税率 */
  @ExcelProperty("税率")
  @DecimalString(message = "税率小数格式不正确", label = "税率")
  private String taxRate;

  /** 实际交货期 */
  @ExcelProperty("实际交货期")
  @DateTimeString(message = "实际交货期不是有效的时间日期格式")
  private String deliverDate;
}
